<?php

  interface IDataAccessObject {

    /**
     * Creates a model into database.
     * @param $model Model The model to create.
     */
    function create(Model $model);

    /**
     * Finds a model into database.
     * @param $model Model The model to find.
     */
    function find(Model $model);

    /**
     * Deletes a model into database.
     * @param $model Model The model to delete.
     */
    function delete(Model $model);

    /**
     * Loads each models from database.
     * @param $model Model The model to fill from database.
     */
    function load(Model $model);
  }

?>
